Explorando las tendencias que se siguen en la Celebracion de Accion de gracias.¶
En este projecto vamos a explorar las tendecias que la gente sigue en accion de gracias.¶
#### Primero, vamos a ver que platos y postres son los favoritos entre la gente.
#### En segundo lugar, vamos a obtener los ingresos y ver como esto esta correlacionado con la lejania desde la que la gente viaja para celebrar Accion de Gracias.
#### Finalmente, vamos a concluir nuestro projecto uniendo celebracion, amigos y observando que rango de edad tiende a celebrar mas accion de gracias.
import pandas as pd
dataset = pd.read_csv('https://raw.githubusercontent.com/fivethirtyeight/data/master/thanksgiving-2015/thanksgiving-2015-poll-data.csv', encoding='latin1')
print(dataset.head(3))
header = dataset.columns.unique()
cel_thanks_count = dataset["Do you celebrate Thanksgiving?"].value_counts()
cel_thanks = dataset[dataset["Do you celebrate Thanksgiving?"] == 'Yes']
print(cel_thanks.head(3))
2) Explorando los platos principales que la gente tiene a comer durante la cena de Accion de gracias.¶
thanks_dishes_count = dataset['What is typically the main dish at your Thanksgiving dinner?'].value_counts()
print(' Main Dish \n', thanks_dishes_count)
tofurkey_dish = dataset[dataset['What is typically the main dish at your Thanksgiving dinner?'] == 'Tofurkey']
tofurkey_have_gravy = tofurkey_dish['Do you typically have gravy?']
print(tofurkey_have_gravy)
Resultados:¶
- 20 tomaron Tofurkey for cenar.
- De estos, 12 usaron gravy (salsa de reino unido) con el Tofurkey.
3) Veamos ahora que pasteles comio la gente durante esta celebración.¶
apple_isnull = pd.isnull(dataset['Which type of pie is typically served at your Thanksgiving dinner? Please select all that apply. - Apple'])
pumpkin_isnull = pd.isnull(dataset['Which type of pie is typically served at your Thanksgiving dinner? Please select all that apply. - Pumpkin'])
pecan_isnull = pd.isnull(dataset['Which type of pie is typically served at your Thanksgiving dinner? Please select all that apply. - Pecan'])
ate_pies = apple_isnull & pumpkin_isnull & pecan_isnull
print(ate_pies.value_counts())
4) Convertiendo la edad a numeros.¶
def ext_age(age):
if pd.isnull(age):
return None
age_split = age.split(' ')
age_splited = age_split[0].replace('+', '')
return int(age_splited)
example = ext_age(dataset['Age'][14])
dataset['int_age'] = dataset['Age'].apply(ext_age)
dataset['int_age'].describe()
Resultados:¶
- As we can observe, with the describe method we have some measurements on the ages we are working with.
Como podemos observar, con el metodo descrito podemos hacer mediciones sobre la edad para trabajar con esta.
Tenemos que estar atendos a que las edades no son exactas porque nuestros datos originales estaba compuesto por un rango y nosotros estamos cogiendo siempre el minimo de ese rango. Es decir, las edad no son verdaderas pero si una aproximacion.
dataset['Age'].value_counts()
5) Convirtiendo los ingresos a numerico.¶
dataset['How much total combined money did all members of your HOUSEHOLD earn last year?'].value_counts()
#Function to convert income_string to a data value.
def ext_income(income):
if pd.isnull(income):
return None
income_split = income.split(' ')
if income_split[0] == 'Prefer':
return None
income_splitted = income_split[0].replace("$", "").replace(",", "")
return int(income_splitted)
example1 = dataset['How much total combined money did all members of your HOUSEHOLD earn last year?'][0].split(' ')
dataset['int_income'] = dataset['How much total combined money did all members of your HOUSEHOLD earn last year?'].apply(ext_income)
dataset['int_income'].describe()
Resultados:¶
Debemos estar atentos a que el rango salarial, al igual que ocurria con la edad, es un rango y por tanto estamos cogiendo el minimo valor de ese rango.
Podemos apreciar como la media de salario es bastante alta. Tambien tenemos una desviacion estandar bastante elevada.
6) Correacionando la distancia viajada y los ingresos.¶
dataset['How far will you travel for Thanksgiving?'].value_counts()
dataset['How far will you travel for Thanksgiving?'][dataset['int_income'] < 150000].value_counts()
dataset['How far will you travel for Thanksgiving?'][dataset['int_income'] > 150000].value_counts()
Resultados:¶
Gente con ingresos por debajo de 150000 esta mas acostumbrada a celebrar Accion de gracias en casa y menos habituada a salir de la ciudad o lejos de esta.
Gente con altos ingresos (>150000) celebra esta fiesta en casa tambien.
Algo interesante que obtenemos de los datos es que la gente con bajos ingresos, por debajo de 150000, esta mas habituada a salir fuera de la ciudad pero no tan lejos como la gente con ingresos altos. Esto puede ser porque la mayoria de ellos viven lejos de sus familias y tienen que viajar para visitarles.
7) Relacionando Amistad y edad. Friendsgiving una version de la fiesta para jovenes.¶
dataset.pivot_table(
index = 'Have you ever tried to meet up with hometown friends on Thanksgiving night?',
columns = 'Have you ever attended a "Friendsgiving?"',
values = 'int_age'
)
dataset.pivot_table(
index = 'Have you ever tried to meet up with hometown friends on Thanksgiving night?',
columns = 'Have you ever attended a "Friendsgiving?"',
values = 'int_income'
)
Conclusiones:¶
- Como podemos ver, la gente joven es mas proclive a celebrar accion de gracias que los mas mayores.